/**
 * JAVACC DEMO 1.0
 * @copy right apache company All rights reserved. 
 * @Package com.apache.rpc.model  
 */
package com.apache.rpc.entity;

import java.util.HashMap;
import java.util.Map;

/**
 * description:  通信协议接口参数模型
 * @author Hou Dayu 创建时间：2014-10-28  
 * @Copyright(c)2014:
 */
public class Protocol {

	/**
	 * 请求功能代码,必填
	 */
	private String reqFlag;

	/**
	 * 返回时传递的数据类型,可设置json,默认xml.
	 */
	private String respType = "xml";
	/**
	 * spring中定义的 bean ID
	 */
	private String beanId;
	//是否为长连接(true/false 默认为短连接(false))
	private String isClose = "false";

	private String protocolType = "socket";

	/**
	 * 根据不同接口返回不同的数据参数,必填
	 */
	private Map<String, Object> params = new HashMap<String, Object>();

	/**
	 * 请求功能代码,必填
	 */
	public String getReqFlag() {
		return reqFlag;
	}

	/**
	 * 请求功能代码,必填
	 */
	public void setReqFlag(String reqFlag) {
		this.reqFlag = reqFlag;
	}

	/**
	 * 返回时传递的数据类型,可设置json,默认xml.
	 */
	public String getRespType() {
		return respType;
	}

	/**
	 * 返回时传递的数据类型,可设置json,默认xml.
	 */
	public void setRespType(String respType) {
		this.respType = respType;
	}

	public Map<String, Object> getParams() {
		return params;
	}

	public void setParams(Map<String, Object> params) {
		this.params = params;
	}

	/**
	 * 添加方法参数
	 */
	public void setParams(String key, String value) {
		this.params.put(key, value);
	}

	/**
	 * 添加方法参数
	 */
	public void setParams(String key, Object value) {
		this.params.put(key, value);
	}

	/**
	 * spring中定义的 bean ID
	 */
	public String getBeanId() {
		return beanId;
	}

	/**
	 * spring中定义的 bean ID
	 */
	public void setBeanId(String beanId) {
		this.beanId = beanId;
	}

	/**
	 * description:  是否为长连接(true/false 默认为短连接(false))
	 */
	public String getIsClose() {
		return isClose;
	}

	/**
	 * description:  是否为长连接(true/false 默认为短连接(false))
	 */
	public void setIsClose(String isClose) {
		this.isClose = isClose;
	}

	/**
	 * description:  协议类型(socket/http/https/webservice 默认为(socket))
	 */
	public String getProtocolType() {
		return protocolType;
	}

	/**
	 * description:  协议类型(socket/http/https/webservice 默认为(socket))
	 */
	public void setProtocolType(String protocolType) {
		this.protocolType = protocolType;
	}

	public String toString() {
		return "Protocol [reqFlag=" + reqFlag + ", respType=" + respType + ", beanId=" + beanId + ", isClose="
				+ isClose + ", protocolType=" + protocolType + ", params=" + params + "]";
	}
}
